#define _CRT_SECURE_NO_WARNINGS 1

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void Merge(int* arr, int low, int mid, int high)
{
	int* p = (int*)malloc((high - low + 1)*sizeof(int));
	int left_low = low;
	int left_high = mid;
	int right_low = mid + 1;
	int right_high = high;
	int k = 0;
	for (k = 0; left_low <= left_high&&right_low <= right_high; k++)
	{
		if (arr[left_low] < arr[right_low])
		{
			p[k] = arr[left_low];
			left_low++;
		}
		else
		{
			p[k] = arr[right_low];
			right_low++;
		}
	}
	if (left_low <= left_high)
	{
		memcpy(p + k, arr + left_low, sizeof(int)*(left_high - left_low + 1));
	}
	if (right_low <= right_high)
	{
		memcpy(p + k, arr + right_low, sizeof(int)*(right_high - right_low + 1));
	}
	for (int i = 0; i < high - low + 1; i++)
	{
		arr[low + i] = p[i];
	}
	free(p);
	p = NULL;
}
void Sort(int* arr, int first, int last)
{
	if (first < last)
	{
		int mid = (first + last) / 2;
		Sort(arr, first, mid);
		Sort(arr, mid + 1, last);
		Merge(arr, first, mid, last);
	}
}

int main()
{
	int n = 0;
	scanf("%d", &n);
	int number[100000] = { 0 };
	for (int i = 0; i < n; i++)
	{
		scanf("%d", &number[i]);
	}
	Sort(number, 0, n - 1);
	for (int i = 0; i < n; i++)
	{
		if (number[i] == number[i + 1])
		{
			printf("YES\n");
			return 0;
		}
	}
	printf("NO\n");
	return 0;
}